Creating HR re-textures
If you are a modder planning to create custom textures for the Mass Effect series, it is important to understand how common texture maps are used and, if you have prior texture modding experience, to recognize where this potentially differs from their use in other games. This guide will also touch on re-texture techniques and provide tips. This guide assumes you have a basic understanding of colour terminology. Resources Picking the wrong resource to re-texture a surface can be detrimental to the overall quality and look of your work. This is an important step, so take your time and build up a decent collection. Ideally you use images/textures that have as many of the following properties as possible: * of a good base size, * tile-able and seamless, * reflecting light evenly, * not made at an angle, * not blurry, * no distracting unintentional repeating patterns when tiled or otherwise made size appropriate. Examples: You can use content aware fill in Photoshop (CS5+) to make a texture larger than it originally was. The right tools for the job As modding ME Series textures relies heavily on being able to view and change the individual channels of a texture, Adobe Photoshop is the uncontested queen. It displays individually viewed channels as gray-scale, showing only the value rather than also adding the hue of the channel itself (be it red, green, or blue) like other image editors do. This is particularly important considering an alpha channel generally controls transparency/opacity, but this is not universally true for ME Series textures. Using an image editor that automatically applies the alpha as a transparency/opacity map to the RGB when opened wreaks havoc on your ability to alter these textures properly. You'll need to download the NVIDIA Texture Tools for Adobe Photoshop. Additionally, you will need to use the latest version of ImageEngine, which you can get from KFreon's fork on GitHub. Alternately, you can use the DirectX Texture tool, which is packaged with the DirectX SDK. Owning a drawing tablet is a plus. General Information What function a texture or channel has is determined by the material (in game) and cannot be changed on the texture surface itself. Any single texture can have up to 4 channels, R (red), G (green), B (blue) and, A (alpha). When you use the RGB channels together you can create a texture that holds it's own colour information but separately these channels can also be used to map variety of different functions/effects. The alpha is commonly associated with transparency/opacity and then applied across the RGB of a texture, but this is not universally true for ME Series textures. Rather, it has the ability to map a wide range of functions depending on specific need as the other channels do. As such it is important to always look closely at the original texture when planning to create a custom texture to replace it. Diffuse maps When texture modding, the diffuse is where you'd traditionally start. The diffuse is a bitmap image wrapped directly onto the 3D object while displaying its original pixel colour. This means that you can use any image to represent photo realistic quality. In Mass Effect, a diffuse map is most likely to use the RGB channels, although sometimes the diffuse will be gray-scale and can fit onto a single channel. When a diffuse is gray-scale and doesn't use all three RGB channels, you might find it hiding in one of the specmap's channels instead and a 'traditional' RGB diffuse texture will be missing. In these cases, the colour of the 3D object is determined not by the diffuse, but by a separate texture called a 'tintmap'. This is common for NPC outfits for example. Find diffuse maps below to get an idea of what one might look like: Here are some tips for creating a diffuse texture: * Learn how to use layer masks. * Learn how to use the pen tool for your line-work. * Group your materials together. Metal with metal, cloth with cloth. It'll make it easier to create the specmap later on. * If your diffuse has highlighting or shading in places put it back in when you re-texture. This is done to more accurately show depth of elements and to mask points on the texture where it will stretch on the model with movement. Not putting it back in means your textured object will look much flatter and less realistic in game. * Put shading and highlighting on a separate layer and use layer-masks for them where you can. * Don't just go up to 4K texture size simply because you can, Choose the size you need for the level of detail you are looking to add. While it's good practice to work with a 4K PSD when creating your diffuse, you shouldn't always release at that size and sometimes even creating at that size is unnecessary. * If you are looking to introduce more detailing on a flat surface with little to no texture or detail, you can use layer style screen or overlay to more easily add structure or detailing to it without having to recreate the entire surface. Be careful that you don't overuse this. * Make sure your patterned areas are the same size on each wrap element. Element wrap sizes differ so having them all the same size on the texture does not mean they are the same size on the model, quite the opposite. Same goes for directionality. * Load your mesh in a 3D program like 3DS Max, or use Photoshop's 3D functionality so you can check your diffuse on the model to see what you are doing without having to take your texture in game. Using Photoshop, you can even directly paint onto the 3D model. A vanilla texture and a (lore-friendly) HR retexture side by side: Specular maps Specmaps are used to define the shininess and highlight colour of a surface. The higher the value of a pixel (from black to white), the shinier the surface will appear in-game. Therefore, surfaces such as dry stone or fabric would have a very dark specular map, while surfaces like metal or plastic would have a lighter specular map. On specmaps the RGB(A) channels are independently used to map different functions, one of which being what would traditionally be referred to as a "traditional" specular map. Other examples of functions you can encounter mapped to one of the specmap's channels: Glow, (coloured) Sheen, colour overlay, glossiness, transparency, material overlay effects (like glass for visors), animation frames (for instance animated text overlay cutoff points). While Mass Effect will often use the same channel to map the same function, they're not completely consistent and that is really the hardest part of working with a specmap and creating a custom one. Every channel has it's own 'setting' in the material that determines exactly what kind of effect it's mapping, all to make different material types like metal,leather and cloth look as realistic as possible. To illustrate, check out the specmap for this torso piece: Here the "traditional" specular map most definitely sits on the green channel as it includes all wrap elements. The red and blue channels both completely black out certain elements which means these are most likely controlling effects tailored to influence the look of select materials or elements. The alpha channel is clearly the glowmap and maps the location of lights. Normal maps Normal Maps provide 3D detailing to an object. They are generated from the original high poly count 3D model of the mesh in question. As such, it's useful when creating a new normal map to work off the base of the original. Usually I upscale the original, depending on the object about half the size of the diffuse/spec unless it maps a full-body surface in which case I sometimes end up going up to 4096 on the diffuse and normal map alike. I then use the diffuse and Nvidia's normal map filter for Photoshop to generate a normal map. I only tend to replace the original normal map in places where I changed the textures to such an extend as it being unavoidable. All other times I will smooth out the jagged edges on the original and overlay detailing generated with the Nvidia normal map preserving the original normal map. ME3's normal maps are V8U8's. I save my edited normal maps as a BMP in Photoshop, then use ImageEngine or the Direct X texture tool to convert to V8U8 and generate MIPs. Using a different file format will wreak havoc on your texture seams ingame. Some tips: * Using the Photoshop normalmap filter, dark elements are automatically indented and light elements extruded. If you are trying to generate a map for a metal surface with white scratches, on default settings the filter will extrude them instead of indent. Flip the Z axis if you want to reverse this. You can cut and paste bits together with the axis inverted or normal depending on what kind of material surface you are dealing with. * You can run the filter several times on different hardness (5-60) settings, then overlay each layer on a percentage to get a nice and fluid normal map with more depth. * If your normal map becomes too pitted and irregular due to the diffuse detailing, consider running a gaussian blur over the diffuse before you run the filter. Find common normal maps below to get an idea of what one might look like: Tint and stripe maps Tintmaps map colour to be projected on-top of the diffuse, much like a colour overlay layer works in Photoshop. They make having multiple colour combinations of an object possible without needing a separate diffuse for every variant. Tintmap channels hold information that's either positive (white) or negative (black), turning overlay function on or off for mapped areas. If an alpha is present it would hold the same kind of black/white data as the RGB channels do. Category:Tutorials